package com.wnx.job.modules.jms.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wnx.job.modules.jms.dto.PostParam;
import com.wnx.job.modules.jms.model.JmsPost;
import com.wnx.job.modules.mini.dto.PostMiniParam;
import com.wnx.job.nosql.elasticsearch.document.EsPost;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author wangnaixing
 * @since 2021-12-17
 */
public interface JmsPostMapper extends BaseMapper<JmsPost> {

    /**
     * 根据职位ID查询职位信息
     * @param id
     * @return
     */
    PostParam findById(Long id);

    /**
     * 根据条件查询职位信息
     * @param queryParams
     * @return
     */
    List<PostParam> findByCondition(Map<String, Object> queryParams);

    /**
     * 查询全部职位信息
     * @return
     */
    List<EsPost> findAll();

    /**
     * 根据点击次数排序查询职位集合
     * @return
     */
    List<EsPost> findAllOrderByHit();

    /***
     * 根据发布时间排序查询职位集合
     * @return
     */
    List<EsPost> findAllOrderByCreated();

    /**
     * 根据薪资查询排序集合
     * @return
     */
    List<EsPost> findAllOrderBySalary();

    /**
     * 根据ID职位信息（网站前台）
     * @param id
     * @return
     */
    EsPost getPostDetailById(Long id);

    /**
     * 查询mini的全部职位信息
     * @return
     */
    List<PostMiniParam> findMiniAll();
}
